// 声明一个变量a，同时指定它的类型为number
let a: number;

// a 的类型设置为了number，在以后的使用过程中a的值只能是数字
a = 10; //正确
a = 33; //正取
// a = 'hello';//报错

let b: string;
b = 'hello'; //正确
// b = 123; //报错

// 声明完变量直接进行赋值
// let c: boolean = false;

// 如果变量的声明和赋值是同时进行的，TS可以自动对变量进行类型检测
// 此处c便为boolean类型变量
let c = false;
c = true;

// JS中函数，不考虑参数的类型和个数
// 因此容易产出问题，a或b不为数字时，求和结果便不为数字，后面使用到时便会出错
// function sum(a, b) {
// 	return a + b;
// }

// TS中，可以指定参数类型、个数以及函数返回值
function sum(a: number, b: number): number {
	return a + b;
}

let result = sum(123, 456);
console.log(result);
